<template>
  <div>
    <h3 v-if="$route.query.type==='user'">导入员工</h3>
    <h3 v-if="$route.query.type==='kq'">导入考勤数据</h3>
      <!-- 公共导入组件 --> 
    <upload-excel :on-success="success" />
  </div>
</template>
<script>
import { importEmployee } from '@/api/employees'
export default {
  name:'Import',
  methods: {
    // 读取文件成功
    // success(data) {
    async success({results}) {
      // console.log(data);
      // 存在数据加工处理的过程
      // 现在数据：[{入职日期:'xxx',姓名:'xx',工号:'xx',手机号:'xxx',转正日期:'xx'},{},{}, ...] 
      // 期望数据： [{timeOfEntry:'xxx',mobile:'xx',username:'xx',correctionTime:'xxx',workNumber:'xx'},{},{}, ...] 
      // 调用 importEmployee(数据)
      // 1. 加工处理数据
       const userRelations = {
          '入职日期': 'timeOfEntry',
          '手机号': 'mobile',
          '姓名': 'username',
          '转正日期': 'correctionTime',
          '工号': 'workNumber'
        }
        const arr = []
        results.forEach(item=>{
          // console.log(item); // {入职日期:'xxx',姓名:'xx',工号:'xx',手机号:'xxx',转正日期:'xx'}
          // Object.keys(item)  取出对象里面的所有的键 ['手机号', '姓名', '入职日期', '转正日期', '工号']
          const obj = {}
          Object.keys(item).forEach(key=>{  // key就是每个中文键     userRelations[key]中文键对应的英文  item[key]每个键对应的值
            console.log(key, userRelations[key],item[key]);
            if( ['correctionTime','timeOfEntry'].includes(userRelations[key]) ){
              obj[userRelations[key]] = this.formatDate(item[key],'-')
            }else{
              obj[userRelations[key]] = item[key]
            }
          })
          arr.push(obj)
        })
        // 2. 发送请求
        await importEmployee(arr)
        // 3. 跳转回去
        this.$router.back()
    },
    // 日期时间处理
     formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1)
      time.setYear(time.getFullYear() - 70)
      const year = time.getFullYear() + ''
      const month = time.getMonth() + 1 + ''
      const date = time.getDate() - 1 + ''
      if (format && format.length === 1) {
        return year + format + month + format + date
      }
      return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
    }
  },
}
</script>
<style>
</style>